A Arquitetura Recursiva da Lógica
Para construir cérebros digitais complexos, devemos primeiro definir a gramática da sua linguagem. Em qualquer álgebra booleana $(S, +, \cdot, ', 0, 1)$, definimos expressões booleanas sobre um conjunto de variáveis $x_1, \dots, x_n$ por meio de um processo de indução estrutural:
1. Toda constante $s \in S$ é uma expressão booleana.
2. Toda variável $x_1, \dots, x_n$ é uma expressão booleana.
Se $X_1$ e $X_2$ já forem expressões booleanas, então as seguintes também são expressões válidas:
$(X_1), \quad X_1', \quad X_1 + X_2, \quad X_1 \cdot X_2$
Precedência e Eficiência
Na ausência de parênteses, seguimos uma hierarquia rigorosa para evitar ambiguidade: Conjunção ($\\land$) sempre tem precedência sobre Disjunção ($\\lor$). Além disso, para otimizar o projeto de hardware, utilizamos portas com $n$ entradas. Em vez de encadear múltiplas portas de duas entradas, representamos $a_1 \vee a_2 \vee \dots \vee a_n$ como uma unidade lógica única, reduzindo o atraso de propagação e simplificando a topologia do circuito.
O Princípio da Mapeamento Estrutural
Toda expressão algébrica é um projeto para um circuito físico. Considere a construção para $(x_1 \wedge (\neg x_2 \vee x_3)) \vee x_2$:
- Camada Interna: Primeiro isolamos $(\neg x_2 \vee x_3)$ usando uma porta NOT e uma porta OR.
- Camada Média: O resultado é alimentado em uma porta AND junto com o sinal de $x_1$.
- Camada Externa: Finalmente, a saída da porta AND e a linha original de $x_2$ se encontram em uma porta OR final.